1、(iOS开发选做)实现多线程都有哪几种方法?
A、使用@synchronized(self)
B、使用GCD
C、使用NSOperationQueue
D、使用@thread
正确答案:B C
2、表视图的相关类有哪些?
UITableView
UITableViewController
UITableViewDelegate
UITableViewDataSource
正确答案: A B
错误答案解析:C.UITableViewDelegate是代理协议D.UITableViewDataSource是数据源协议
3、iOS中导航设计模式有几种?
平铺导航、 标签导航、 树形导航、 模态视图导航
正确答案: A B C, 平铺导航( UITabbarController ) 标签导航( UINavigationController ) 树形导航(UIPageViewController)
4、为什么说Object-C是runtime language?
将数据类型的确定由编译时,推迟到了运行时
运行时机制使我们直到运行时才去决定一个对象的类别,以及调用该类别对象指定方法。
假使A继承了B类,那么在编译时就已经生成了A的实例
多态是指不同对象以自己的方式响应相同的消息的能力
ABD
简答题
一、用Object-C定义并实现一个基于数组的循环队列类,当队列放满需支持动态的扩展队列长度。
定义一个结构体,以及int变量front,rear用于跟踪数据填充情况。
1.当队列rear+1对数组长度取余等于front时,说明数组已填充满,那么需要扩展,即重新new 数组,长度为原来2倍,然后将原来数据copy新数组中,同时回收旧的数组
2.当rear==front时为空
注:使用rear+1前提是front指定的空间不存放值,这样就可知front==rear时时队列为空,而避免混淆队列是空还是满。